package graduate.cslg.com.universityshopping.net;

import java.util.List;

import graduate.cslg.com.universityshopping.entity.CardBean;
import graduate.cslg.com.universityshopping.entity.CardCostBean;
import graduate.cslg.com.universityshopping.entity.LostCardBean;
import graduate.cslg.com.universityshopping.entity.PostListBean;
import graduate.cslg.com.universityshopping.entity.ReplyBean;
import graduate.cslg.com.universityshopping.entity.ScoreInfoBean;
import graduate.cslg.com.universityshopping.entity.UserBean;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
import rx.Observable;

public interface TestService {

    @FormUrlEncoded
    @POST("/SSMDemo/login")
    Observable<LoginResponse> test_loginCheck(@Field("user_account") String UserName, @Field("user_password") String Password);

    @FormUrlEncoded
    @POST("/SSMDemo/getUserName")
    Observable<UserBean> getUserName(@Field("user_account") String userAccount);

    @GET("/SSMDemo/getBBSTopics")
    Observable<List<PostListBean>> getBBSTopic();

    @FormUrlEncoded
    @POST("/SSMDemo/replyInfo")
    Observable<List<ReplyBean>> get_reply_info(@Field("bbs_id") int bbs_id);

    @FormUrlEncoded
    @POST("/SSMDemo/replyPost")
    Observable<LoginResponse> replyPost(@Field("bbs_id") int bbs_id, @Field("reply_name") String replyName, @Field("reply_time") String replyTime, @Field("reply_content") String replyContent);

    @FormUrlEncoded
    @POST("/SSMDemo/BBSPost")
    Observable<LoginResponse> topicPost(@Field("user_account") String userAccount, @Field("user_name") String userName, @Field("bbs_title") String bbsTitle, @Field("bbs_content") String bbsContent, @Field("bbs_type") String bbsType, @Field("user_post_time") String postTime);

    @FormUrlEncoded
    @POST("/SSMDemo/getCardInfo")
    Observable<CardBean> getCardInfo(@Field("user_account") String userAccount);

    @GET("/SSMDemo/getCharge")
    Observable<List<PostListBean>> getTransInfo();

    @POST("/SSMDemo/getLostCard")
    Observable<List<LostCardBean>> getLostCardInfo();

    @FormUrlEncoded
    @POST("/SSMDemo/repairInfoPost")
    Observable<LoginResponse> postRepairInfo(@Field("user_account") String userAccount, @Field("user_tel") String userTel, @Field("repair_place") String place, @Field("repair_item") String item, @Field("repair_intro") String intro, @Field("repair_public") String isPublic, @Field("repair_extra") String repairExtra);

    @FormUrlEncoded
    @POST("/SSMDemo/lostCard")
    Observable<LoginResponse> lostCard(@Field("user_account") String userAccount);

    @FormUrlEncoded
    @POST("/SSMDemo/cardCost")
    Observable<List<CardCostBean>> getCardCostInfo(@Field("user_account") String userAccount, @Field("cost_date") String costDate);

    @FormUrlEncoded
    @POST("/SSMDemo/addFeedbackInfo")
    Observable<LoginResponse> addFeedbackInfo(@Field("feed_type") String feedType, @Field("feed_content") String feedContent, @Field("feed_communicate") String feedCommunicate);

    @FormUrlEncoded
    @POST("/SSMDemo/addPlaceChangeInfo")
    Observable<LoginResponse> addPlaceChangeInfo(@Field("allow_change") String allowChange, @Field("want_bed") String wantBed, @Field("want_reason") String wantReason, @Field("user_tel") String userTel, @Field("user_account") String userAccount);

    @FormUrlEncoded
    @POST("/SSMDemo/addCheckIn")
    Observable<LoginResponse> addCheckInInfo(@Field("stu_tel") String stuTel, @Field("stu_bed") String stuBed, @Field("stu_reason") String stuReason, @Field("user_account") String userAccount);

    @FormUrlEncoded
    @POST("/SSMDemo/addCheckOut")
    Observable<LoginResponse> addCheckOutInfo(@Field("stu_tel") String stuTel, @Field("stu_reason") String stuReason, @Field("checkout_reason") String checkOutReason, @Field("stu_account") String stuAccount);

    @FormUrlEncoded
    @POST("/SSMDemo/addDetentionInfo")
    Observable<LoginResponse> addDetentionInfo(@Field("stu_account") String stuAccount, @Field("stu_tel") String stuTel, @Field("contract_name") String contractName, @Field("contract_tel") String contractTel, @Field("time_start") String timeStart, @Field("time_end") String timeEnd, @Field("stu_reason") String stuReason);

    @FormUrlEncoded
    @POST("/SSMDemo/getStudentInfo")
    Observable<MyDorBean> getDocInfo(@Field("stu_account") String stuAccount);

    @FormUrlEncoded
    @POST("/SSMDemo/getDorScoreInfo")
    Observable<List<ScoreInfoBean>> getDorScoreInfo(@Field("user_account") String userAccount);
}
